<template>
  <div class="user-info">
    <!-- 个人信息 -->
    <el-form label-width="220px">
      <!--手机 聘用形式  -->
      <el-row class="inline-info">
        <el-col :span="12">
          <el-form-item label="手机">
            <el-input v-model="userInfo.mobile" disabled />
          </el-form-item>
        </el-col>
      </el-row>
      <!-- 工号 入职时间 -->
      <el-row class="inline-info">
        <el-col :span="12">
          <el-form-item label="入职时间">
            <el-date-picker
              v-model="userInfo.timeOfEntry"
              type="date"
              class="inputW"
              value-format="yyyy-MM-dd"
            />
          </el-form-item>
        </el-col>
      </el-row>
      <!-- 员工照片 -->
      <el-row class="inline-info">
        <el-col :span="12">
          <el-form-item label="员工头像">
            <!-- 放置上传图片 -->
            <!--
              回显图片 : 组件内部有 imageUrl
              获取到的用户头像地址  在父组件中  操作的响应式数据 在子组件中
              父传子  1. prop传递  2. 拿到子组件的实例对象 操作属性
             -->
            <!-- <upload-img ref="uploadImg" /> -->
            <!--
              组件身上绑定 v-model 指令
              完成了三个事情
              1. 给组件绑定了一个默认名称为 value 的prop
              2. 给组件绑定了一个默认名称为 input 的自定义事件
              3. 在自定义事件的回调函数中把自定义事件触发的时候传出来的参数  赋值给value绑定的响应数据
             -->
            <upload-img v-model="userInfo.staffPhoto" />
          </el-form-item>
        </el-col>
      </el-row>
      <!-- 保存个人信息 -->
      <el-row class="inline-info" type="flex" justify="center">
        <el-col :span="12">
          <el-button type="primary" @click="uploadUserInfo">保存更新</el-button>
          <el-button @click="$router.back()">返回</el-button>
        </el-col>
      </el-row>
    </el-form>
  </div>
</template>
<script>
import { getUserDetailById, saveUserDetailById } from '@/api/employees'
export default {
  data() {
    return {
      userInfo: {}
    }
  },
  mounted() {
    this.loadUserInfo()
  },
  methods: {
    // 获取用户信息的方法
    async loadUserInfo() {
      const res = await getUserDetailById(this.$route.query.id)
      //   console.log(res)
      this.userInfo = res.data
      // 拿到子组件实例 操作 imageUrl
      // this.$refs.uploadImg.imageUrl = res.data.staffPhoto
    },
    // 点击更新按钮
    async uploadUserInfo() {
      // 点击保存更新 把当前上传组件 url图片地址
      // 然后作为头像字段最新的值传给后端
      // this.userInfo.staffPhoto = this.$refs.uploadImg.imageUrl
      // 发送更新的接口请求
      await saveUserDetailById({ ...this.userInfo })
      this.$message({
        type: 'success',
        message: '更新信息成功'
      })
    }
  }
}
</script>

<style scoped lang="scss">
  .user-info{
    padding-top:20px;
  }
</style>
